package cn.ainit.sys.pagescript;

import java.util.List;

import cn.ainit.sys.pages.config.entity.ConfigObject;
import cn.ainit.sys.pagescript.entity.ButtonObject;
import cn.ainit.sys.query.datastore.DataStore;
import cn.ainit.sys.ui.forms.Columns;

public interface PageCommonService {

	/***
	 * 根据id查找按钮
	 * @param butId
	 * @return
	 * @throws Exception
	 */
	ButtonObject findButObjectById(String butId)throws Exception;
	/***
	 * 执行按钮sql语句
	 * @param sqlTxt
	 * @param sqlParamStr
	 * @return
	 * @throws Exception
	 */
	String executeSql(String sqlTxt, String[] sqlParamStr)throws Exception;
	/***
	 * 执行存储过程
	 * @param procTxt
	 * @param procParamStr
	 * @return
	 * @throws Exception
	 */
	String[] executeProc(String procTxt, String[] procParamStr)throws Exception;
	/***
	 * 获取所有字段
	 * @param configId
	 * @return
	 * @throws Exception
	 */
	ConfigObject findConfigObj(String configId)throws Exception;
	/***
	 * 获取ds配置
	 * @param colnsIdStr
	 * @return
	 * @throws Exception
	 */
	DataStore findDataStoreById(String colnsIdStr)throws Exception;
	/***
	 * 获取字段
	 * @param colnsIdStr
	 * @return
	 * @throws Exception
	 */
	List<Columns> findColumnsById(String colnsIdStr)throws Exception;
	/***
	 * 获取主键值
	 * @param string
	 * @return
	 * @throws Exception
	 */
	String getMaxPkStr(String sql)throws Exception;
	/***
	 * 保存对象
	 * @param sqlText
	 * @param valuesArr 
	 * @return
	 * @throws Exception
	 */
	boolean saveObject(String sqlText, String[] valuesArr)throws Exception;
	/***
	 * 更新对象
	 * @param sqlText
	 * @param valuesArr
	 * @param whereValue
	 * @return
	 * @throws Exception
	 */
	boolean updateObject(String sqlText, String[] valuesArr, String[] whereValue)throws Exception;

}
